# !/usr/bin/python
# -*- coding: utf-8 -*-
'''
@File    :   09_bubbingsort.py
@Time    :   2021/04/01 17:09:24
@Author  :   Qingxiang Zhang
@Version :   1.0
@Contact :   344285081@qq.com
@Desc    :   冒泡排序算法
@Software:    Vscode
'''

'''
这是描述冒泡排序，
重复遍历数据，每次比较两个数的大小，如果顺序错误就把他们交换过来，像一个个泡泡一样冒出水面
最差时间复杂度：O（n^2）
稳定性： 稳定的
'''
def bubble_sort(aList):
    for j in range((len(aList)-1)):

        for i in range((len(aList)-j-1)):
            
            if aList[i] > aList[i+1]:
                aList[i],aList[i+1] = aList[i+1],aList[i]
            
    return aList

def bubble_sort_1(aList):
    for j in range((len(aList)-1)):
        count = 0
        for i in range((len(aList)-j-1)):
            
            if aList[i] > aList[i+1]:
                count += 1
                aList[i],aList[i+1] = aList[i+1],aList[i]
        if count == 0:
            return   
    return aList

if __name__ =="__main__":
    aList =[9,12,34,5,6,78]
    print(bubble_sort(aList))